*** Exceptional Situations:

1. Buttons (and its subclasses) automatically captures the main buttons 
mousedown and mouseup events (usually LeftMouseButtonDown and LeftMouseButtonUp
event) and form a Click event and applies class handling strategy, which means
it marks it handled no matter it attaches any functions to handler or not.
   BTW, when there is a Click event handler function, LeftMouseDown event will
not be captured for the MouseDown event handling.
   So here, as you can see, Buttons will not forward Left Click to ancestors no 
matter it really handles itself or not.

2. RoutedEvents should be manually marked "handled" sometime. 
   Like here, in every handler function, we marked MouseDown event handled 
except Grid1's handler function. So Grid1 will keeps bubble this event to the 
root, which is Window here.

** Descriptions:

1. Grid0 will be colored pale gray, Border0 and Grid1 will be colored pale blue,
StackPanels will be colored pale brown.

** How to play:
1. Left/Right Click Avocado Button
2. Left/Right Click Watermelon Image
3. Left/Right Click Watermelon Button
4. Left/Right Click Corn Button
5. Left/Right Click Top Blue and Brown areas.
6. Left/Right Click Bottom Blue and Brown areas.
7. Left/Right Click Gray areas.